Ξανά και ξανά και ξανά και ξανά και ξανά **************************************** Σε αυτό το κεφάλαιο θα δούμε έναν πρώτο αυτοματισμό που προσφέρει η python: τις επαναλήψεις ή loops. Επανάληψη for ============= Παρατηρήστε τον παρακάτω κώδικα και προσπαθήστε να καταλάβετε τι κάνει. .. code-block:: python for i in [1, 2, 3]: print i Δοκιμάστε να το διαβάσετε ως εξής: "για κάθε στοιχείο αυτής της λίστας, τύπωσε το στοιχείο". Η ολοκληρωμένη σύνταξη είναι: .. code-block:: python for element in list: block using element Η ``for`` είναι χρήσιμη όταν θέλετε να εκτελέσετε ένα block εντολών πάνω σε κάθε στοιχείο μιας λίστας. Μπορεί επίσης, σε συνδυασμό με την εντολή ``range()`` που θα αναλυθεί αμέσως μετά, να εκτελέσει ένα block εντολών έναν προκαθορισμένο αριθμό φορών. Range ===== Η ``range(start,end)`` είναι μια εντολή που παραγάγει μια λίστα ακεραίων από ``start`` μέχρι ``end-1``. Δηλαδή: .. code-block:: python >>> range(0,6) [0, 1, 2, 3, 4, 5] Επομένως, εάν θέλετε για παράδειγμα να εκτυπώσετε έλα αλφαριθμητικό 50 φορές, μπορείτε απλά: .. code-block:: python for number in range(0,50): print "This will be printed 50 times!" Μπορούμε επίσης να τυπώσουμε τα τετράγωνα των πρώτων 100 ακεραίων: .. code-block:: python for int in range(0,100): print int*int και ό,τι άλλο σκεφτείτε. Επανάληψη while =============== Παρατηρήστε τον παρακάτω κώδικα και προσπαθήστε να καταλάβετε τι κάνει. .. code-block:: python grocery_list = ["milk", "peaches", "laxative", "miracle fruit"] while len(grocery_list) > 0: print grocery_list.pop() print "Done." Η πλήρης σύνταξη της ``while`` είναι: .. code-block:: python while condition: block Η ``while`` είναι το δεύτερο είδος επανάληψης που είναι ευρέως διαδεδομένο σε όλες τις γλώσσες προγραμματισμού. Ο τρόπος λειτουργίας της είναι ο εξής: εάν η συνθήκη ισχύει, εκτέλεσε το block. Επανάλαβε μέχρι να μην ισχύει η συνθήκη. Ο έλεγχος γίνεται πριν από την εκτέλεση του block. Η ``for`` συνήθως χρησιμοποιείται όταν είναι από πριν γνωστός ο αριθμός των επαναλήψεων, ή υπάρχει μια λίστα πάνω στην οποία θέλουμε να κάνουμε την επανάληψη. Η ``while`` χρησιμοποιείται όταν ο αριθμός των επαναλήψεων είναι άγνωστος, αλλά θέλουμε να συνεχίσουμε τις επαναλήψεις ως ότου να μην ισχύει πια μια συνθήκη. Μην ανησυχείτε εάν δεν μπορείτε να σκεφτείτε παραδείγματα όπου θα ήταν απαραίτητη η μία ή η άλλη επανάληψη: θα σας δώσουμε ένα χειροπιαστό παράδειγμα σύντομα.